Server systems

ABSTRACT

The present invention comprises a system for the control of multiple remote resources. A plurality of user stations, each comprising a keyboard, video screen and a mouse, communicate with a server management unit. The server management unit is comprised of a server chassis, matrix switch and a switch server. Remote resources are each connected to a port of a multiplexer or to a server interface. A user station connects to a remote resource by making a request to the server management unit. The switch server identifies the multiplexer or server interface port to which the resource is connected from a database. A request is made to a remote interface server connected to the multiplexer and server interfaces and the remote interface server connects the appropriate ports of the server management unit and the multiplexer or server interface.

TECHNICAL FIELD OF THE INVENTION

This invention relates to the control of computer systems with multipleresources, for example multiple servers.

BACKGROUND OF THE INVENTION

There are many client/server systems which make use of a large number ofservers; for example Internet Service providers, data warehouses, andsoftware development laboratories. The management, control andmaintenance of such multi-server systems can be complex and expensive.

One known arrangement is the FreeVision ™ system, which is the subjectof W099/22294. This system enables workstations consisting only of videoscreen, keyboard and mouse to be connected to control any selectedserver using only serial signals over category 5 cabling. This systemoffers considerable advantages, but can only be used where the serversare capable of producing and handling keyboard-video-mouse (KVM)signals.

SUMMARY OF THE INVENTION

One object of the present invention is to enable the provision of asystem in which a user work station can communicate with and control anyselected one of a number of “headless” servers which do not themselvesprovide video format signals.

More generally, the present invention is concerned with enabling a useroperating in one format to communicate with a resource (which may be aserver or another machine, or a software resource such as a database)operating in another format in a manner which is automatic andtransparent to the user.

Accordingly, the present invention provides a data processing systemincluding one or more user stations each capable of sending andreceiving data in a first form; a plurality of resources each capable ofsending and receiving data in a second form; at least one helpercomputer arranged to transform data between the first and second forms;and a multiplexer for connecting the helper computer, or one of thehelper computers, between a user and a selected resource.

From another aspect, the invention provides a method of operating a dataprocessing system, which system comprises one or more user stations eachcapable of sending and receiving data in a first sending and receivingdata in a second form.

Other objects, features, and characteristics of the present invention,as well as the methods of operation and functions of the relatedelements of the structure, and the combination of parts and economies ofmanufacture, will become more apparent upon consideration of thefollowing detailed description with reference to the accompanyingdrawings, all of which form a part of this specification.

Preferred features and advantages of the invention will-be apparent fromthe following description and claims.

DESCRIPTION OF THE PREFERRED EMBODIMENT

As required, a detailed illustrative embodiment of the present inventionis disclosed herein. However, techniques, systems and operatingstructures in accordance with the present invention may be embodied in awide variety of forms and modes, some of which may be quite differentfrom those in the disclosed embodiment. Consequently, the specificstructural and functional details disclosed herein are merelyrepresentative, yet in that regard, they are deemed to afford the bestembodiment for purposes of disclosure and to provide a basis for theclaims herein which define the scope of the present invention. It shouldbe noted that those individuals skilled in the art may be able to makesome modifications of the preferred embodiments but which are based uponthe underlying teachings contained within the subject invention.

An embodiment of the invention will now be described, by way of exampleonly, with reference to the drawing, in which

FIG. 1 is a schematic block diagram of one system in accordance with theinvention.

Referring to FIG. 1, the system includes a number of servers, nine ofwhich are shown at 10. In practice, the system may include severalhundred or more servers. The system also includes a number of userstations, one of which is shown at 12. In practice, there might be sometens of users. Each user station comprises a keyboard, a video screen,and a mouse, each of which communicates with an interface 20. Theinterface 20 permits keyboard-video-mouse (KVM) signals to pass to andfrom the user 10 via a path 22 using the FreeVision™ protocol.

It is desired to enable any user 12 to be connected with any server 10in such a way that the user controls the selected server as though itskeyboard, video screen and mouse were physically connected direct to theserver. In this example, the servers 10 do not produce video signals ina displayable format such as VGA. The invention is based on interposinga helper computer between the user and the selected server to emulatethe missing functions. It would, however, be unnecessarily complex andexpensive to provide a computer for each server, or for each workstation, and therefore a limited number of helper computers (which couldbe one, but will typically be single figures) is incorporated in thesystem so as to be efficiently used, as will now be explained.

Each of the servers 10 is connected to a respective port of a serialmultiplexer (mux) 28. The serial mux 28 in this example is a fullynon-blocking 16-to-many serial mux. It must be able to switch any serialport to any TCP/IP session. Suitable multiplexers to meet these criteriaare well known in the art. Also connected to the serial mux 28 are anumber of helper PCs, two of which are shown at 30, which in turn areconnected to a server interface card 32.

The users 12 are connected via a user interface card 24 to a servermanagement system (SMS) which consists of a switch formed by a matrixswitch 27 and a server chassis 34, a switch server 26, and an SQLdatabase 29 for the switch server 26.

The matrix switch 27 enables a given user port on the user interfacecard 24 to communicate with a given server port on the server interfacecard 32.

Matrix switches of this nature are known per se, and are available forexample from CCC Network Systems of Farnborough, Hants, England andBelfast, Northern Ireland. The matrix switch 27 is similar to thatdescribed in WO99/22294.

The switch server 26 is also arranged to communicate by an appropriateprotocol, in this embodiment TCP/IP, with the helper PCs 30 and with theserial mux's 28.

In a practical embodiment, there may be a large number of mux's such as28, each of which will have up to 16 servers connected to it, and canhave any of a number of PCs connected via TCP/IP.

When a user requests access to a particular server, the followingsequence of events will be performed:

-   (1) The switch server 26 identifies from the database 29 the mux 28    to which the requested server is connected.-   (2) The switch server 26 then makes a request for connection.-   (3) According to the availability of each PC, the system attempts to    propagate the request to any PC in the pool of PCs.-   (4) Once a free PC has identified itself, the switch server 26    instructs the PC which mux and port to connect to, which connects    the appropriate corns ports (provided not in use).-   (5) The selected PC is instructed to start a terminal session with a    shell command, which may usefully be stored as a string in the    database 29.-   (6) The PC confirms successful command execution, and the switch    server 26 connects the user via the user interface card 24, the    switch 27, 34, and the appropriate port of the server interface card    32.

To allow communication with the switch server 26, and to enable requeststo be propagated amongst the PCs, each of the PCs contains an Ethernetcard (or similar networking arrangement). Each PC also has socketlistening software to accept requests from the SMS and to allowtermination of the session at any time. Upon termination, all links canbe broken.

The arrangement described with each PC returning its location or IDallows any number of helper PCs to be connected to the mux. A smallernumber of PCs reduces cost and complexity, while a higher numberminimises blocking. Expansion is simple, merely requiring an additionalPC and additional data in the database. Any PC can connect to any muxvia TCP/IP. Thus there is a flexible pool of resources.

The system as thus far described therefore enables any user to beconnected to any desired server via a helper PC. The servers 10 in thisembodiment are headless servers which do not provide formatted videosignals and may not be organised to accept keyboard and mouse signalsdirectly. The helper PC is therefore provided with terminal emulatorsoftware, so that the combination of the user workstation 12 and theterminal emulator acts as a fully featured terminal to control theselected server.

FIG. 1 also shows a server 110 which is capable of handling KVM signals,to illustrate that this can be connected directly to a port of theserver interface card 34 without the intervention of a helper PC.

In the embodiment shown, the pathways labelled “KVM” carry KVM signalsin analogue format. Other channels as shown operate in RS232. In a largesystem, this greatly simplifies cabling arrangements. However, otherdata transfer protocols may be used.

Our present preference is to use Linux as the PC operating system, asthis avoids licensing restrictions and a large number of Unix terminalemulator programs are freely available. However, this preference isessentially commercial, and it will be appreciated that a wide choice ofoperating systems and emulator software would be suitable.

Thus, the PC and its installed software enable the user to interfacewith the server by proxy, and the PC may be referred to as a “proxyhelper”. The same basic technique may be used to allow interfacing byproxy with resources other than servers, “resource” in this contextbeing used to mean any machine or database. The proxy helpers could, forexample, contain web browsers to interact with web-enabled devices, orcustom interfacing software to interact with, for example, airconditioning systems or alarms. The switch server will know from itsdatabase the type of resource the user requires access to and will usethis information to identify a suitable proxy helper PC from its pool.

In the prior art system of WO99/22294 the helper PC acts as a computerdedicated to navigation of a large multi-user computer system. The userinvokes the helper PC, identifies a list of computers he requires accessto (known as a profile), and then leaves the helper PC. At this point,the switch server takes over control and allows the user to move betweenthe computers in his profile with no further helper PC involvement.Thus, the prior art system is intentionally invoked by the user, and isused temporarily to create or modify a profile.

In the present invention, the user does not intentionally invoke theproxy helper; this is an automatic action performed by the switch serverbased on the type of resource the user wishes to interact with. Proxyhelpers are allocated on a per-session basis. Thus, the proxy helpersare intelligently utilised by the switch server based on resource type,and the operation is transparent to the user.

The system as described is very flexible and may readily be expanded andaltered without requiring much if anything in the way of specialisedhardware or software.

While the present invention has been described with reference to one ormore preferred embodiments, such embodiments are merely exemplary andare not intended to be limiting or represent an exhaustive enumerationof all aspects of the invention. The scope of the invention, therefore,shall be defined solely by the following claims. Further, it will beapparent to those of skill in the art that numerous changes may be madein such details without departing from the spirit and the principles ofthe invention. It should be appreciated that the present invention iscapable of being embodied in other forms without departing from itsessential characteristics.

1. A data processing system comprising: at least one user station, forsending and receiving keyboard-video-mouse (KVM) signals; a plurality ofheadless servers, wherein said headless servers provide output signals,but do not provide video format signals; a plurality of remote interfaceservers for emulating video format signals of said headless servers bymeans of terminal emulation software; a plurality of multiplexers forconnecting at least one of the plurality of remote interface serversbetween said user station and a selected one of the headless serverswherein the user station communicates with a selected one of theheadless servers via one of the plurality of multiplexers, a databasefor mapping relationship information between the multiplexers and theplurality of headless servers, and a switch server to communicate therelationship information to one of the remote interface servers, whereinthe switch server is configured to select and make an automaticconnection between the at least one user station and one of theplurality of remote interface servers, the one remote interface serverbeing selected based on a type of resource requested by the at least oneuser station.
 2. The system according to claim 1, wherein saidconnection between the at least one user station and said selectedremote interface server is automatic and transparent to the at least oneuser station.
 3. The system according to claim 1, further comprising amanagement unit, wherein said management unit is configured to respondto requests from the at least one user station to automaticallyestablish a connection from the at least one user station to a selectedone of said headless servers via said selected remote interface serverand said multiplexer.
 4. The system according to claim 3, wherein saidmanagement unit communicates by a network protocol.
 5. The systemaccording to claim claim 3, wherein two or more of the remote interfaceservers are connected to network protocol connections, said networkprotocol connections being connected to said multiplexer.
 6. The systemaccording to claim 5, wherein said two or more remote interface serverscommunicate using a network protocol.
 7. The system according to claim1, wherein said multiplexer interfaces with a non-blocking switcharrangement.
 8. The system according to claim 7, wherein saidnon-blocking switch arrangement comprises a matrix switch.
 9. The systemaccording to claim 8, wherein said matrix switch is controlled by theswitch server in accordance with data stored in the database.
 10. A dataprocessing system for use with a plurality of remote headless servers,said system comprising: one or more user interfaces, for sending andreceiving data in a first form; a plurality of interface servers forconverting data from said first form to a second form by means ofterminal emulation software, said second form being used by said remoteheadless servers for sending and receiving data; a multiplexer forconnecting one of said plurality of interface servers between one ofsaid one or more user interfaces and one of said remote headlessservers, wherein said first form of data comprises keyboard-video-mouse(KVM) signals, a database for mapping relationship information betweenthe multiplexer and the plurality of remote headless servers, and aswitch server for communicating the relationship information to one ofthe remote interface servers, wherein the switch server is configured toselect and make an automatic connection between one of the one or moreuser interfaces and one of the plurality of interface servers, the oneinterface server being selected based on a type of resource requested bythe at least one user station.
 11. The system according to claim 10,including a management unit, wherein said management unit is configuredto respond to a request from said user interface to establish aconnection from said one user interface to the one remote headlessserver via said remote interface server and said multiplexer.
 12. Thesystem according to claim 11, wherein said management unit communicatesby a network protocol.
 13. The system according to claim 11, wherein twoor more of the interface servers are connected to network protocolconnections, said network protocol connections being connected to saidmultiplexer.
 14. The system according to claim 13, wherein said two ormore interface servers communicate using a network protocol.
 15. Thesystem according to claim 10, wherein said multiplexer interfaces with anon-blocking switch arrangement.
 16. The system according to claim 15,wherein said non-blocking switch arrangement comprises a matrix switch.17. The system according to claim 16, wherein said matrix switch iscontrolled by the switch server in accordance with data stored in thedatabase.
 18. A method for operating a data processing system, saidsystem comprising one or more user stations for sending and receivingkeyboard-video-mouse signals (KVM), a plurality of servers which do notthemselves provide video format signals, a plurality of remote interfaceservers, and a plurality of multiplexers connected to the plurality ofservers, said method comprising the steps of: detecting a request from afirst user station requesting establishment of communication with afirst server; determining which one of the multiplexers is connected tothe first server; determining a resource availability of the pluralityof remote interface servers; selecting one remote interface server fromthe plurality of remote interface servers based on the determination ofresource availability and based on a type of resource requested by saidfirst user station; establishing a first connection between said firstuser station and one of said remote interface servers ; and establishinga second connection between said remote interface server and a desiredone of said plurality of servers via a multiplexed network; receivingdata from said user station and said desired server at said remoteinterface server; and emulating missing video signals of the desiredserver by means of terminal emulation software at said remote interfaceserver for transmission to said user station.
 19. The method accordingto claim 18, wherein said first connection is made via a matrix switch.20. The method according to claim 19, wherein said second connection ismade via a multiplexed network containing said servers and said remoteinterface server.